﻿//using Ay.MvcFramework.Wpf;
//using Ay.MvcFramework.Wpf.Applications;
//using Ay.MvcFramework.Wpf.FuncFactory;
//using Ay.MvcFramework;
//using Ay.MvcFramework.Internal.Util;
//using System;
//using System.Collections;
//using System.Collections.Generic;
//using System.Collections.ObjectModel;
//using System.Diagnostics;
//using System.IO;
//using System.Net;
//using System.Reflection;
//using System.Runtime.CompilerServices;
//using System.Runtime.InteropServices;
//using System.Runtime.Remoting.Channels;
//using System.Threading;
//using System.Threading.Tasks;
//using System.Timers;
//using System.Windows;
//using System.Windows.Input;
//using System.Windows.Interop;
//using System.Windows.Media;
//using System.Windows.Media.Imaging;
//using System.Windows.Threading;

//namespace Hotel.UI.Common
//{
//    public enum Enum0
//    {
//        Simply = 0,
//        None = 4
//    }

//    public static class MyThemeManager
//    {
//        public static bool bool_0 = false;

//        public static Color AvgColor;

//        public static SolidColorBrush baseBrush;

//        public static List<Color> ThemeColors;

//        public static bool isExecuteAYUIMethod = false;

//        public static IExceptionFilter iexceptionFilter_0 = null;

//        private static Enum0 enum0_0 = Enum0.None;
//        public static System.Windows.Application AddExceptionCustom(this System.Windows.Application app)
//        {
//            if (enum0_0 != Enum0.None)
//            {
//                throw new Exception("全局异常捕获只允许设置一种");
//            }

//            enum0_0 = (Enum0)1;
//            smethod_4(app);
//            return app;
//        }

//        public static System.Windows.Application AddExceptionFilter(this System.Windows.Application app,
//            IExceptionFilter exceptionFilter)
//        {
//            if (enum0_0 != Enum0.None)
//            {
//                throw new Exception("全局异常捕获只允许设置一种");
//            }

//            iexceptionFilter_0 = exceptionFilter;
//            enum0_0 = (Enum0)3;
//            smethod_4(app);
//            return app;
//        }

//        public static System.Windows.Application AddExceptionLog(this System.Windows.Application app)
//        {
//            if (enum0_0 != Enum0.None)
//            {
//                throw new Exception("全局异常捕获只允许设置一种");
//            }

//            enum0_0 = (Enum0)2;
//            smethod_4(app);
//            return app;
//        }

//        public static System.Windows.Application AddExceptionLog(this System.Windows.Application app, string logDirectory)
//        {
//            if (enum0_0 != Enum0.None)
//            {
//                throw new Exception("全局异常捕获只允许设置一种");
//            }

//            enum0_0 = (Enum0)2;
//            AyuiConfig.AYUI_LogDebugDirectoryPath = logDirectory;
//            smethod_4(app);
//            return app;
//        }

//        public static System.Windows.Application AddExceptionSimply(this System.Windows.Application app)
//        {
//            if (enum0_0 != Enum0.None)
//            {
//                throw new Exception("全局异常捕获只允许设置一种");
//            }

//            enum0_0 = Enum0.Simply;
//            smethod_4(app);
//            return app;
//        }

//        public static void ApplicationCurrent_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
//        {
//            COMException exception = e.Exception as COMException;
//            if (exception.IsNotNull() && exception.ErrorCode == -2147221040)
//            {
//                e.Handled = true;
//                return;
//            }

//            switch (enum0_0)
//            {
//                case Enum0.Simply:
//                    {
//                        AyException1.Show(e.Exception);
//                        break;
//                    }
//                case (Enum0)1:
//                    {
//                        AyCustomException.Show(e.Exception);
//                        break;
//                    }
//                case (Enum0)2:
//                    {
//                        if (e.Exception == null)
//                        {
//                            break;
//                        }

//                        AyFuncFactory.GetFunc<AyFuncLogDebugOutputTxtFile>().WriteLogFile(e.Exception.Message);
//                        break;
//                    }
//                case (Enum0)3:
//                    {
//                        if (e.Exception == null || !iexceptionFilter_0.IsNotNull())
//                        {
//                            break;
//                        }

//                        iexceptionFilter_0.OnException(new ExceptionContext()
//                        {
//                            Caption = null,
//                            ErrorText = e.Exception.Message,
//                            StackError = null,
//                            Exception = e.Exception
//                        });
//                        break;
//                    }
//            }

//            e.Handled = true;
//        }

//        public static void AYUI(this System.Windows.Application app)
//        {
//            if (!isExecuteAYUIMethod)
//            {
//                AyFuncConfig.LogDebugDirectoryPath = AyuiConfig.AYUI_LogDebugDirectoryPath;
//                AyFuncConfig.TableSoftwareName = AyuiConfig.AYUI_RegisterTableSoftwareName;
//                AyFuncConfig.ScreenRecordConfigFileNamePath = AyuiConfig.AYUI_ScreenRecordConfigFileNamePath;
//                isExecuteAYUIMethod = true;
//                AyCommon.ISXP = AyCommon.IsXP_OS();
//                app.smethod_5();
//                smethod_3(app, false);
//                foreach (KeyValuePair<string, string> font in GlobalCollection.Fonts)
//                {
//                    FontFamily fontFamily = app.TryFindResource(font.Key) as FontFamily;
//                    if (!fontFamily.IsNotNull())
//                    {
//                        string value = font.Value;
//                        if (font.Value.IndexOf("pack://") == 0)
//                        {
//                            throw new InvalidCastException("字体文件路径不正确,无需传递pack://application..直接传递component/后面的内容");
//                        }

//                        FontFamily fontFamily1 = new FontFamily(new Uri("pack://application:,,,/"),
//                            string.Concat("./Resources/", value));
//                        app.Resources.Add(font.Key, fontFamily1);
//                    }
//                    else
//                    {
//                        app.Resources[font.Key] = fontFamily;
//                    }
//                }

//                bool_0 = true;
//                app.ShutdownMode = ShutdownMode.OnMainWindowClose;
//                AyCommon.MemoryGC();
//            }
//        }

//        public static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
//        {
//            string message;
//            string str;
//            string message1;
//            string str1;
//            switch (enum0_0)
//            {
//                case Enum0.Simply:
//                    {
//                        AyException1.Show(e.ExceptionObject as Exception);
//                        return;
//                    }
//                case (Enum0)1:
//                    {
//                        AyCustomException.Show(e.ExceptionObject as Exception);
//                        return;
//                    }
//                case (Enum0)2:
//                    {
//                        Exception exceptionObject = e.ExceptionObject as Exception;
//                        if (exceptionObject != null)
//                        {
//                            message = exceptionObject.Message;
//                        }
//                        else
//                        {
//                            message = null;
//                        }

//                        string str2 = message;
//                        if (exceptionObject is WebException)
//                        {
//                            WebException webException = exceptionObject as WebException;
//                            if (webException.Status == WebExceptionStatus.ConnectFailure ||
//                                webException.Status == WebExceptionStatus.NameResolutionFailure)
//                            {
//                                str2 = string.Concat("无法连接到互联网！", Environment.NewLine, "请检查网络连接情况，稍候再试！");
//                            }
//                        }
//                        else if (exceptionObject is TargetInvocationException)
//                        {
//                            if ((exceptionObject as TargetInvocationException).InnerException is WebException)
//                            {
//                                WebException innerException =
//                                    (exceptionObject as TargetInvocationException).InnerException as WebException;
//                                if (innerException.Status == WebExceptionStatus.ConnectFailure ||
//                                    innerException.Status == WebExceptionStatus.NameResolutionFailure)
//                                {
//                                    str2 = string.Concat("无法连接到互联网！", Environment.NewLine, "请检查网络连接情况，稍候再试！");
//                                }
//                            }
//                        }
//                        else if (exceptionObject is AggregateException &&
//                                 (exceptionObject as AggregateException).InnerExceptions != null &&
//                                 (exceptionObject as AggregateException).InnerExceptions.Count > 0)
//                        {
//                            str2 = "";
//                            foreach (Exception exception in (exceptionObject as AggregateException).InnerExceptions)
//                            {
//                                if (!(exception is WebException))
//                                {
//                                    continue;
//                                }

//                                WebException webException1 = exception as WebException;
//                                if (webException1.Status != WebExceptionStatus.ConnectFailure &&
//                                    webException1.Status != WebExceptionStatus.NameResolutionFailure)
//                                {
//                                    continue;
//                                }

//                                str2 = string.Concat(str2, "无法连接到互联网！", Environment.NewLine, "请检查网络连接情况，稍候再试！");
//                            }
//                        }

//                        try
//                        {
//                            if (exceptionObject != null)
//                            {
//                                object[] objArray = new object[]
//                                {
//                                exceptionObject.Message, exceptionObject.Source, exceptionObject.TargetSite, null, null
//                                };
//                                objArray[3] = (exceptionObject.InnerException == null
//                                    ? string.Empty
//                                    : exceptionObject.InnerException.Message);
//                                objArray[4] = (exceptionObject.StackTrace != null ? exceptionObject.StackTrace : "");
//                                str = string.Format("错误信息:{0}\r\n错误源:{1}\r\n异常方法:{2}\r\n{3}{4}", objArray);
//                            }
//                            else
//                            {
//                                str = "";
//                            }

//                            string str3 = str;
//                            AyFuncFactory.GetFunc<AyFuncLogDebugOutputTxtFile>()
//                                .WriteLogFile(string.Concat(str2, "\r\n", str3));
//                            break;
//                        }
//                        catch (Exception exception1)
//                        {
//                            break;
//                        }

//                        break;
//                    }
//                case (Enum0)3:
//                    {
//                        Exception exceptionObject1 = e.ExceptionObject as Exception;
//                        if (exceptionObject1 != null)
//                        {
//                            message1 = exceptionObject1.Message;
//                        }
//                        else
//                        {
//                            message1 = null;
//                        }

//                        string str4 = message1;
//                        if (exceptionObject1 is WebException)
//                        {
//                            WebException webException2 = exceptionObject1 as WebException;
//                            if (webException2.Status == WebExceptionStatus.ConnectFailure ||
//                                webException2.Status == WebExceptionStatus.NameResolutionFailure)
//                            {
//                                str4 = string.Concat("无法连接到互联网！", Environment.NewLine, "请检查网络连接情况，稍候再试！");
//                            }
//                        }
//                        else if (exceptionObject1 is TargetInvocationException)
//                        {
//                            if ((exceptionObject1 as TargetInvocationException).InnerException is WebException)
//                            {
//                                WebException innerException1 =
//                                    (exceptionObject1 as TargetInvocationException).InnerException as WebException;
//                                if (innerException1.Status == WebExceptionStatus.ConnectFailure ||
//                                    innerException1.Status == WebExceptionStatus.NameResolutionFailure)
//                                {
//                                    str4 = string.Concat("无法连接到互联网！", Environment.NewLine, "请检查网络连接情况，稍候再试！");
//                                }
//                            }
//                        }
//                        else if (exceptionObject1 is AggregateException &&
//                                 (exceptionObject1 as AggregateException).InnerExceptions != null &&
//                                 (exceptionObject1 as AggregateException).InnerExceptions.Count > 0)
//                        {
//                            str4 = "";
//                            foreach (Exception innerException2 in (exceptionObject1 as AggregateException).InnerExceptions)
//                            {
//                                if (!(innerException2 is WebException))
//                                {
//                                    continue;
//                                }

//                                WebException webException3 = innerException2 as WebException;
//                                if (webException3.Status != WebExceptionStatus.ConnectFailure &&
//                                    webException3.Status != WebExceptionStatus.NameResolutionFailure)
//                                {
//                                    continue;
//                                }

//                                str4 = string.Concat(str4, "无法连接到互联网！", Environment.NewLine, "请检查网络连接情况，稍候再试！");
//                            }
//                        }

//                        try
//                        {
//                            if (exceptionObject1 != null)
//                            {
//                                object[] objArray1 = new object[]
//                                {
//                                exceptionObject1.Message, exceptionObject1.Source, exceptionObject1.TargetSite, null,
//                                null
//                                };
//                                objArray1[3] = (exceptionObject1.InnerException == null
//                                    ? string.Empty
//                                    : exceptionObject1.InnerException.Message);
//                                objArray1[4] = (exceptionObject1.StackTrace != null ? exceptionObject1.StackTrace : "");
//                                str1 = string.Format("错误信息:{0}\r\n错误源:{1}\r\n异常方法:{2}\r\n{3}{4}", objArray1);
//                            }
//                            else
//                            {
//                                str1 = "";
//                            }

//                            string str5 = str1;
//                            iexceptionFilter_0.OnException(new ExceptionContext()
//                            {
//                                Caption = "错误",
//                                ErrorText = str4,
//                                StackError = str5,
//                                Exception = exceptionObject1
//                            });
//                            break;
//                        }
//                        catch (Exception exception2)
//                        {
//                            break;
//                        }

//                        break;
//                    }
//                default:
//                    {
//                        return;
//                    }
//            }
//        }

//        public static void EtpSpvigl()
//        {
//            GC.Collect();
//            GC.WaitForPendingFinalizers();
//            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
//            {
//                SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
//            }
//        }

//        [DllImport("kernel32.dll", CharSet = CharSet.None, ExactSpelling = false)]
//        public static extern bool SetProcessWorkingSetSize(IntPtr hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);

//        public static ResourceDictionary smethod_0(string string_0)
//        {
//            ResourceDictionary resourceDictionaries;
//            if (string_0 != null)
//            {
//                try
//                {
//                    resourceDictionaries =
//                        System.Windows.Application.LoadComponent(new Uri(
//                            string.Format("/Ay.MvcFramework.Wpf;component/Themes/AySkin/{0}AyControl.xaml", string_0),
//                            UriKind.Relative)) as ResourceDictionary;
//                }
//                catch
//                {
//                    return null;
//                }

//                return resourceDictionaries;
//            }

//            return null;
//        }

//        public static ResourceDictionary smethod_1()
//        {
//            ResourceDictionary resourceDictionaries;
//            try
//            {
//                resourceDictionaries =
//                    System.Windows.Application.LoadComponent(new Uri(
//                        string.Format("/Ay.MvcFramework.Wpf;component/Themes/Common/NoChanged.xaml", new object[0]),
//                        UriKind.Relative)) as ResourceDictionary;
//            }
//            catch
//            {
//                return null;
//            }

//            return resourceDictionaries;
//        }

//        public static ResourceDictionary smethod_2(string path)
//        {
//            ResourceDictionary resourceDictionaries;
//            if (path != null)
//            {
//                try
//                {
//                    string str = string.Format("/Ay.MvcFramework.Wpf;component/Themes/Colors/{0}AyThemeColor.xaml", path);
//                    resourceDictionaries = new ResourceDictionary()
//                    {
//                        Source = new Uri(str, UriKind.Relative)
//                    };
//                }
//                catch
//                {
//                    return null;
//                }

//                return resourceDictionaries;
//            }

//            return null;
//        }

//        public static void smethod_3(System.Windows.Application app, bool bool_1 = false)
//        {
//            ThemeColors = new List<Color>();
//            ResourceDictionary solidColorBrush = smethod_2(ConfigSetting.GetXmlValue("themeColor", "value", false));
//            string xmlValue = ConfigSetting.GetXmlValue("themeMode", "value", false);
//            string str = "";
//            if (xmlValue == "img")
//            {
//                str = ConfigSetting.GetXmlValue("skinBg", "thumb", false);
//                if (str.IndexOf(":") < 0)
//                {
//                    str = str.Replace(AyuiConfig.AYUI_RelativeBg_ThumbPath, "");
//                    str = Path.Combine(AyuiConfig.AYUI_BackgroundImageThumbDirectoryPath.Replace(str, ""), str);
//                }
//            }
//            else if (xmlValue == "v")
//            {
//                str = ConfigSetting.GetXmlValue("skinVedioBg", "path", false);
//                str = string.Concat(AyuiConfig.AYUI_RelativeVideo_BgPath, Path.GetFileNameWithoutExtension(str),
//                    ".jpg");
//            }
//            else if (xmlValue == "color")
//            {
//                str = ConfigSetting.GetXmlValue("skinColorBg", "value", false);
//            }

//            bool flag = false;
//            if (xmlValue == "color")
//            {
//                AvgColor = SolidColorBrushConverter.ToColor(str);
//                flag = true;
//            }
//            else if (File.Exists(str))
//            {
//                flag = true;
//                AvgColor = (new BitmapPixelHelper(new BitmapImage(new Uri(str)))).GetAverageColor();
//            }

//            if (flag)
//            {
//                HsvColor hsv = AyColorUtilities.ConvertRgbToHsv((int)AvgColor.R,
//                    (int)AvgColor.B, (int)AvgColor.G);
//                int num = 1;
//                for (double i = 0.05; i < 1.01; i += 0.05)
//                {
//                    Color rgb = AyColorUtilities.ConvertHsvToRgb(hsv.H, hsv.S, i);
//                    solidColorBrush[string.Concat("Ay.Brush", num, ".Color")] = rgb;
//                    Color color = rgb.ConvertColorA(0);
//                    solidColorBrush[string.Concat("Ay.Op0.Brush", num, ".Color")] = color;
//                    Color color1 = rgb.ConvertColorA(0.1);
//                    solidColorBrush[string.Concat("Ay.Op1.Brush", num, ".Color")] = color1;
//                    Color color2 = rgb.ConvertColorA(0.2);
//                    solidColorBrush[string.Concat("Ay.Op2.Brush", num, ".Color")] = color2;
//                    Color color3 = rgb.ConvertColorA(0.3);
//                    Color color4 = rgb.ConvertColorA(0.4);
//                    Color color5 = rgb.ConvertColorA(0.5);
//                    Color color6 = rgb.ConvertColorA(0.6);
//                    Color color7 = rgb.ConvertColorA(0.7);
//                    Color color8 = rgb.ConvertColorA(0.8);
//                    Color color9 = rgb.ConvertColorA(0.9);
//                    solidColorBrush[string.Concat("Ay.Op3.Brush", num, ".Color")] = color3;
//                    solidColorBrush[string.Concat("Ay.Op4.Brush", num, ".Color")] = color4;
//                    solidColorBrush[string.Concat("Ay.Op5.Brush", num, ".Color")] = color5;
//                    solidColorBrush[string.Concat("Ay.Op6.Brush", num, ".Color")] = color6;
//                    solidColorBrush[string.Concat("Ay.Op7.Brush", num, ".Color")] = color7;
//                    solidColorBrush[string.Concat("Ay.Op8.Brush", num, ".Color")] = color8;
//                    solidColorBrush[string.Concat("Ay.Op9.Brush", num, ".Color")] = color9;
//                    solidColorBrush[string.Concat("Ay.Brush", num)] = new SolidColorBrush(rgb);
//                    solidColorBrush[string.Concat("Ay.Op0.Brush", num)] = new SolidColorBrush(color);
//                    solidColorBrush[string.Concat("Ay.Op1.Brush", num)] = new SolidColorBrush(color1);
//                    solidColorBrush[string.Concat("Ay.Op2.Brush", num)] = new SolidColorBrush(color2);
//                    solidColorBrush[string.Concat("Ay.Op3.Brush", num)] = new SolidColorBrush(color3);
//                    solidColorBrush[string.Concat("Ay.Op4.Brush", num)] = new SolidColorBrush(color4);
//                    solidColorBrush[string.Concat("Ay.Op5.Brush", num)] = new SolidColorBrush(color5);
//                    solidColorBrush[string.Concat("Ay.Op6.Brush", num)] = new SolidColorBrush(color6);
//                    solidColorBrush[string.Concat("Ay.Op7.Brush", num)] = new SolidColorBrush(color7);
//                    solidColorBrush[string.Concat("Ay.Op8.Brush", num)] = new SolidColorBrush(color8);
//                    solidColorBrush[string.Concat("Ay.Op9.Brush", num)] = new SolidColorBrush(color9);
//                    num++;
//                    ThemeColors.Add(rgb);
//                }

//                AvgColor = ThemeColors[13];
//                baseBrush = new SolidColorBrush(AvgColor);
//                if (xmlValue != "color")
//                {
//                    solidColorBrush["TabBorderBrush"] = baseBrush;
//                    solidColorBrush["AyWindow.Left.Background"] =
//                        new SolidColorBrush(AvgColor.ConvertColorA(0.8));
//                    LinearGradientBrush linearGradientBrush = new LinearGradientBrush()
//                    {
//                        EndPoint = new Point(0.5, 1),
//                        StartPoint = new Point(0.5, 0)
//                    };
//                    GradientStop gradientStop = new GradientStop(Colors.White, 0);
//                    GradientStop gradientStop1 = new GradientStop(SolidColorBrushConverter.ToColor("#00FFFFFF"), 1);
//                    GradientStop gradientStop2 = new GradientStop(SolidColorBrushConverter.ToColor("#E5FEFEFE"), 0.25);
//                    linearGradientBrush.GradientStops.Add(gradientStop);
//                    linearGradientBrush.GradientStops.Add(gradientStop1);
//                    linearGradientBrush.GradientStops.Add(gradientStop2);
//                    solidColorBrush["AyWindow.Right.OpacityMask"] = linearGradientBrush;
//                    solidColorBrush["AyWindow.RightBottomNav.Background"] =
//                        SolidColorBrushConverter.From16JinZhi("#00FFFFFF");
//                    solidColorBrush["AyWindow.RightTopNav.Background"] =
//                        SolidColorBrushConverter.From16JinZhi("#00FFFFFF");
//                }
//                else
//                {
//                    solidColorBrush["TabBorderBrush"] = new SolidColorBrush(AvgColor.ConvertBright(0.7));
//                    solidColorBrush["AyWindow.Left.Background"] = new SolidColorBrush(AvgColor);
//                    solidColorBrush["AyWindow.Right.Background"] = new SolidColorBrush(Colors.White);
//                    solidColorBrush["AyWindow.Right.OpacityMask"] = new SolidColorBrush(Colors.White);
//                    solidColorBrush["AyWindow.RightBottomNav.Background"] =
//                        SolidColorBrushConverter.From16JinZhi("#F8F8F8");
//                    solidColorBrush["AyWindow.RightTopNav.Background"] =
//                        SolidColorBrushConverter.From16JinZhi("#F8F8F8");
//                }

//                HsvColor hsvColor = AyColorUtilities.ConvertRgbToHsv((int)AvgColor.R,
//                    (int)AvgColor.B, (int)AvgColor.G);
//                if (hsvColor.S < 0.1 || hsvColor.V < 0.4)
//                {
//                    solidColorBrush["NormalButtonColor1"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.97);
//                    Color rgb1 = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.89);
//                    solidColorBrush["NormalButtonColor2"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.89);
//                    solidColorBrush["NormalButtonBorderColor"] = AvgColor;
//                    solidColorBrush["HoverButtonColor1"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.92);
//                    solidColorBrush["HoverButtonColor2"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.85);
//                    solidColorBrush["HoverButtonBorderColor"] = ThemeColors[11];
//                    solidColorBrush["PressedButtonColor1"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.84);
//                    solidColorBrush["PressedButtonColor2"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0, 0.88);
//                    solidColorBrush["PressedButtonBorderColor"] = ThemeColors[9];
//                    solidColorBrush["FlatButtonBackground"] = rgb1;
//                    solidColorBrush["AySplitButton.Static.Background"] = new SolidColorBrush(rgb1);
//                    solidColorBrush["FlatButtonBackground.Mouseout"] = rgb1.ConvertColorA(0);
//                    solidColorBrush["AyCheckBox.OptionMark.MouseOver.Background"] = new SolidColorBrush(rgb1);
//                    solidColorBrush["AyCheckBox.OptionMark.MouseOver.Background"] = new SolidColorBrush(rgb1);
//                    solidColorBrush["AyTreeViewItem.Static.Foreground"] =
//                        SolidColorBrushConverter.From16JinZhi("#E7E7E7");
//                    solidColorBrush["AyTreeViewItem.Hover.Foreground"] = new SolidColorBrush(Colors.White);
//                    solidColorBrush["AyTreeViewItem.Pressed.Foreground"] =
//                        SolidColorBrushConverter.From16JinZhi("#51A2FD");
//                }
//                else
//                {
//                    Color rgb2 = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.02, 0.98);
//                    solidColorBrush["NormalButtonColor1"] = rgb2;
//                    Color rgb3 = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.11, 0.94);
//                    solidColorBrush["NormalButtonColor2"] = rgb3;
//                    solidColorBrush["NormalButtonBorderColor"] = AvgColor;
//                    solidColorBrush["HoverButtonColor1"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.07, 0.96);
//                    solidColorBrush["HoverButtonColor2"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.16, 0.92);
//                    solidColorBrush["HoverButtonBorderColor"] = ThemeColors[11];
//                    solidColorBrush["PressedButtonColor1"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.18, 0.91);
//                    solidColorBrush["PressedButtonColor2"] = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.12, 0.93);
//                    solidColorBrush["PressedButtonBorderColor"] = ThemeColors[9];
//                    solidColorBrush["FlatButtonBackground"] = rgb3;
//                    SolidColorBrush solidColorBrush1 = new SolidColorBrush(rgb3);
//                    object obj = solidColorBrush1;
//                    solidColorBrush["AySplitButton.Static.Background"] = solidColorBrush1;
//                    solidColorBrush["AyCheckBox.OptionMark.MouseOver.Background"] = obj;
//                    solidColorBrush["FlatButtonBackground.Mouseout"] = rgb3.ConvertColorA(0);
//                    Color rgb4 = AyColorUtilities.ConvertHsvToRgb(hsv.H, 0.08, 1);
//                    solidColorBrush["AyTreeViewItem.Static.Foreground"] = new SolidColorBrush(rgb4);
//                    SolidColorBrush solidColorBrush2 = new SolidColorBrush(Colors.White);
//                    obj = solidColorBrush2;
//                    solidColorBrush["AyTreeViewItem.Pressed.Foreground"] = solidColorBrush2;
//                    solidColorBrush["AyTreeViewItem.Hover.Foreground"] = obj;
//                }

//                solidColorBrush["HoverButtonBorderColor.Mouseout"] = ThemeColors[11].ConvertColorA(0);
//                solidColorBrush["AyWindow.Common.TextBlock.Foreground.Recommand"] =
//                    new SolidColorBrush(ThemeColors[3]);
//            }

//            for (int j = 20; j < 201; j += 20)
//            {
//                if (j != 80)
//                {
//                    solidColorBrush[string.Concat("Ay.A.Brush.", j.ToString())] =
//                        AyFuncColorSystem.Get2016AYLinearGradientBrush(AvgColor, j);
//                }
//                else
//                {
//                    solidColorBrush["Ay.A.Brush1"] =
//                        AyFuncColorSystem.Get2016AYLinearGradientBrush(AvgColor, 80);
//                }
//            }

//            ResourceDictionary resourceDictionaries = smethod_0(ConfigSetting.GetXmlValue("themeSkin", "value", false));
//            resourceDictionaries.MergedDictionaries.Add(solidColorBrush);
//            if (resourceDictionaries != null)
//            {
//                if (app.Resources.MergedDictionaries.Count > 0)
//                {
//                    foreach (var p in app.Resources.MergedDictionaries)
//                        if (p is Ay.MvcFramework.Wpf.Themes.AySkin.DefaultAyControl)
//                        {
//                            app.Resources.MergedDictionaries.Remove(p);
//                            Debug.WriteLine($"2.{DateTime.Now}-app.Resources.MergedDictionaries.Remove(app.Resources.MergedDictionaries[0])");
//                            break;
//                        }

//                    //app.Resources.MergedDictionaries.Remove(app.Resources.MergedDictionaries[0]);
//                    //Debug.WriteLine($"{DateTime.Now}-app.Resources.MergedDictionaries.Remove(app.Resources.MergedDictionaries[0])");
//                }

//                app.Resources.MergedDictionaries.Add(resourceDictionaries);
//            }

//            if (!bool_1)
//            {
//                foreach (DictionaryEntry value in smethod_1())
//                {
//                    app.Resources[value.Key] = value.Value;
//                }

//                LanuageManager.ChangeLanguage(app);
//            }

//            if (GlobalCollection.ResourceDictionaryCollection != null)
//            {
//                foreach (ResourceDictionary resourceDictionaryCollection in GlobalCollection
//                    .ResourceDictionaryCollection)
//                {
//                    app.Resources.MergedDictionaries.Add(resourceDictionaryCollection);
//                }
//            }

//            if (AyCommon.ISXP)
//            {
//                RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
//            }

//            ThemeChanged?.Invoke(null, null);
//        }

//        public static void smethod_4(System.Windows.Application app)
//        {
//            TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
//            app.DispatcherUnhandledException += ApplicationCurrent_DispatcherUnhandledException;
//            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
//        }

//        public static System.Windows.Application smethod_5(this System.Windows.Application app)
//        {
//            app.Startup += (sender, e) =>
//            {

//                AyTime.setTimeout(10000, () => EtpSpvigl());
//                System.Timers.Timer timer = new System.Timers.Timer()
//                {
//                    Interval = 60000
//                };
//                timer.Elapsed += (object argument0, ElapsedEventArgs argument1) =>
//                    EtpSpvigl();
//                timer.Start();

//                NavigationCommands.BrowseBack.InputGestures.Clear();
//                NavigationCommands.Refresh.InputGestures.Clear();
//                Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
//            };


//            return app;
//        }

//        public static void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
//        {
//            e.SetObserved();
//        }

//        public static event EventHandler ThemeChanged;
//    }

//}